package com.wzcl.app.controller.student;

import com.wzcl.app.dao.model.Orders;
import com.wzcl.app.dao.model.TopUpOrder;
import com.wzcl.app.model.common.RVO;
import com.wzcl.app.model.dto.IosPayDto;
import com.wzcl.app.service.IosPayService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.validation.Valid;

/**
 * @author beingven
 * @Description 支付控制器
 * @createTime 2020年11月17日 16:58:00
 */

@RestController
@RequestMapping("/iosPay")
@Api(value = "苹果支付controller", tags = {"苹果支付接口"})
public class IosPayController {

    @Resource
    private IosPayService iosPayService;

    /**
     * 发起IOS内购支付
     * @param iosPayDto 包含receipt校验体和订单号的Dto
     * @return 返回包含支付状态的RVO
     */
    @ApiOperation("发起支付")
    @PostMapping("/create")
    public RVO iosPay(@RequestBody @Valid IosPayDto iosPayDto) {
        return iosPayService.createIosPay(iosPayDto);
    }

    /**
     * 创建内购支付订单
     * @param iosPayDto 包含productId的对象
     * @return
     * @throws Exception
     */
    @ApiOperation("创建支付订单")
    @PostMapping("/saveOrder")
    public RVO save(@RequestBody IosPayDto iosPayDto) throws Exception {
        return iosPayService.save(iosPayDto.getProductId());
    }
}